import type { NativeStackScreenProps } from "@react-navigation/native-stack";

// 页面路由类型
export type RootStackParamList = {
  /** 主页 */
  Home: undefined; // undefined 表示路由没有参数
  HomeTest: undefined; // undefined 表示路由没有参数
  /** 入网审核 */
  EntryNetwork: {
    /** 是否申请完成 */
    flag: boolean;
  };

  /** 视频播放 */
  VideoDisplay: undefined;

  /** 网络测试页面 */
  NetworkDebug: {
    /** 默认 webview 访问的 url */
    url: string;
  };

  //// 测试页面 ////
  /** sqlite 测试页面 */
  SqliteTest: undefined;
  /** 系统功能测试页面 */
  SystemTest: undefined;
  /** WebScoket功能测试页面 */
  WebScoketTest: undefined;
};


// 获取 路由组件 props
type GetRouterPropsType<T extends keyof RootStackParamList> = NativeStackScreenProps<RootStackParamList, T>;

export type HomeProps = GetRouterPropsType<"Home">;
export type VideoDisplayProps = GetRouterPropsType<"VideoDisplay">;
export type EntryNetworkProps = GetRouterPropsType<"EntryNetwork">;
export type NetworkDebugProps = GetRouterPropsType<"NetworkDebug">;

